using System;
using System.Runtime.InteropServices;
using System.Security.Permissions;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Security;
using Microsoft.SharePoint.Navigation;

namespace Dotit.AGL.CIM6.Components.Features.Dotit_AGL_CIM6_Cometemasterpagefeature
{
    /// <summary>
    /// Cette classe gère les événements déclenchés lors de l'activation, la désactivation, l'installation, la désinstallation et la mise à niveau de fonctions.
    /// </summary>
    /// <remarks>
    /// Le GUID attaché à cette classe peut être utilisé lors de la compression et ne doit pas être modifié.
    /// </remarks>

    [Guid("808a44dc-27d3-4554-a2bc-d2d9b0343a18")]
    public class Dotit_AGL_CIM6_CometemasterpagefeatureEventReceiver : SPFeatureReceiver
    {
        // Supprimez les marques de commentaire de la méthode ci-dessous pour gérer l'événement déclenché après l'activation d'une fonction.

        public override void FeatureActivated(SPFeatureReceiverProperties properties)
        {
            SPWeb web = properties.Feature.Parent as SPWeb;

            Uri masterUri = new Uri(web.Url + "/_catalogs/masterpage/MasterPage/COMETE-v4.master");

            web.MasterUrl = masterUri.AbsolutePath;

            web.CustomMasterUrl = masterUri.AbsolutePath;
            web.AllowUnsafeUpdates = true;
            web.Update();
            web.QuickLaunchEnabled = true;

            //SPNavigationNodeCollection quicklaunchNodes = web.Navigation.QuickLaunch;
            SPNavigationNodeCollection topbar = web.Navigation.TopNavigationBar;
            SPNavigationNodeCollection qiklun = web.Navigation.QuickLaunch;
            // for(int i = 0; i <= qiklun.Count; i++)
            //{ qiklforun[i].Delete(); }
            foreach (SPNavigationNode ss in qiklun)
            {
                ss.Delete();
            
            }
            
            SPNavigationNode qiklunHed = new SPNavigationNode("Espace Mi et DPI", string.Empty, true);
            //ADD heading
            qiklun.AddAsFirst(qiklunHed);
            qiklun.AddAsLast(new SPNavigationNode("",string.Empty,true));
            qiklun.AddAsLast(new SPNavigationNode("", string.Empty, true));
            //Add Child for each heading 
            qiklun[0].Children.AddAsFirst(new SPNavigationNode("MI",@"/", true));
            //qiklun[1].Children.Add(SPNavigation itm);
            web.Dispose();
            //qiklun.AddAsFirst(new SPNavigationNode("Géstion des engagements", string.Empty, true));
            //qiklun.AddAsFirst(new SPNavigationNode("Gestions des décomptes", string.Empty, true));
            //qiklun.AddAsFirst(new SPNavigationNode("Gestion des Achats", string.Empty, true));

        }


        // Supprimez les marques de commentaire de la méthode ci-dessous pour gérer l'événement déclenché avant la désactivation d'une fonction.

        public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
        {
            SPWeb w = (SPWeb)properties.Feature.Parent;

            Uri masterUri = new Uri(w.Url + "/_catalogs/masterpage/v4.master");
            //MasterPage of not publishing pages
            w.MasterUrl = masterUri.AbsolutePath;
            //MasterPage used by publishing pages
            w.CustomMasterUrl = masterUri.AbsolutePath;
            w.Update();
        }


        // Supprimez les marques de commentaire de la méthode ci-dessous pour gérer l'événement déclenché après l'installation d'une fonction.

        //public override void FeatureInstalled(SPFeatureReceiverProperties properties)
        //{
        //}


        // Supprimez les marques de commentaire de la méthode ci-dessous pour gérer l'événement déclenché avant la désinstallation d'une fonction.

        //public override void FeatureUninstalling(SPFeatureReceiverProperties properties)
        //{
        //}

        // Supprimez les marques de commentaire de la méthode ci-dessous pour gérer l'événement déclenché lors de la mise à niveau d'une fonction.

        //public override void FeatureUpgrading(SPFeatureReceiverProperties properties, string upgradeActionName, System.Collections.Generic.IDictionary<string, string> parameters)
        //{
        //}
    }
}
